using System.Windows.Media;

namespace MaterialDesignColors.Recommended;

public class BlueGreySwatch : ISwatch
{
    public static Color BlueGrey50 { get; } = (Color)ColorConverter.ConvertFromString("#ECEFF1");
    public static Color BlueGrey100 { get; } = (Color)ColorConverter.ConvertFromString("#CFD8DC");
    public static Color BlueGrey200 { get; } = (Color)ColorConverter.ConvertFromString("#B0BEC5");
    public static Color BlueGrey300 { get; } = (Color)ColorConverter.ConvertFromString("#90A4AE");
    public static Color BlueGrey400 { get; } = (Color)ColorConverter.ConvertFromString("#78909C");
    public static Color BlueGrey500 { get; } = (Color)ColorConverter.ConvertFromString("#607D8B");
    public static Color BlueGrey600 { get; } = (Color)ColorConverter.ConvertFromString("#546E7A");
    public static Color BlueGrey700 { get; } = (Color)ColorConverter.ConvertFromString("#455A64");
    public static Color BlueGrey800 { get; } = (Color)ColorConverter.ConvertFromString("#37474F");
    public static Color BlueGrey900 { get; } = (Color)ColorConverter.ConvertFromString("#263238");

    public string Name { get; } = "Blue Grey";

    public IDictionary<MaterialDesignColor, Color> Lookup { get; } = new Dictionary<MaterialDesignColor, Color>
    {
        { MaterialDesignColor.BlueGrey50, BlueGrey50 },
        { MaterialDesignColor.BlueGrey100, BlueGrey100 },
        { MaterialDesignColor.BlueGrey200, BlueGrey200 },
        { MaterialDesignColor.BlueGrey300, BlueGrey300 },
        { MaterialDesignColor.BlueGrey400, BlueGrey400 },
        { MaterialDesignColor.BlueGrey500, BlueGrey500 },
        { MaterialDesignColor.BlueGrey600, BlueGrey600 },
        { MaterialDesignColor.BlueGrey700, BlueGrey700 },
        { MaterialDesignColor.BlueGrey800, BlueGrey800 },
        { MaterialDesignColor.BlueGrey900, BlueGrey900 },
    };
}
